ITableData
: IUnknown
The ITableData
interface provides utility methods for working with tables. Table data objects,
or objects that implement ITableData, are provided by MAPI to help service
providers perform table maintenance. To obtain a table data object, service
providers call the CreateTable
Quick Info
Header
file: |
MAPIUTIL.H |
Exposed by: |
Table data
objects |
Implemented
by: |
MAPI |
Called by: |
Service providers |
Corresponding
pointer type: |
LPTABLEDATA |
Vtable Order
HrGetView |
Creates a
table view, returning a pointer to an IMAPITable implementation. |
HrModifyRow |
Inserts a
new table row, possibly replacing an existing row. |
HrDeleteRow |
Deletes a
table row. |
HrQueryRow |
Retrieves a
table row. |
HrEnumRow |
Retrieves a
row based on its position in the table. |
HrNotify |
Sends a
notification for a table row. |
HrInsertRow |
Inserts a
table row. |
HrModifyRows |
Inserts
multiple table rows, possibly replacing existing rows. |
HrDeleteRows |
Deletes
multiple table rows. |
Remarks
The MAPI
implementation of ITableData works with tables by holding all of the
data and any associated restrictions in memory, making it unsuitable for use with
very large tables. Large restrictions and complex operations such as
categorization are unsupported.
Table data
objects identify rows using an index column a property that is guaranteed to have a unique value for each row.
Most service providers use the PR_INSTANCE_KEY
Table data
objects generate a single notification regardless of the number of rows
affected by a change or deletion. If a target row in an operation does not
exist, a row is added.